//#include <iostream>
//#include <vector>
//#include <cmath>
//#include <unordered_map>
//using namespace std;
//const int N=25;
//int n,k;
//vector<int> path;
//
//int a[N];
//int ret;
//
//bool prime(int n){
//	bool ret=true;
//	for(int i=2;i<=sqrt(n);i++){
//		if(n%i==0){
//   			ret=false;
//   			break;
//  		}
// 	}
// 	return ret;
//}
//
//
//void dfs(int begin){
//	if(path.size()==k){
//		int sum=0;
//		for(auto x:path){
//			sum+=x;
//		}
//		if(prime(sum)) ret++;
//		return;
//	}
//	
//	for(int i=begin;i<=n;i++){
//		path.push_back(a[i]);
//		dfs(i+1);
//		path.pop_back();
//	}
//}
//
//int main()
//{
//	cin>>n>>k;
//	for(int i=1;i<=n;i++){
//		cin>>a[i];
//	}
//	dfs(1);
//	cout<<ret<<endl;
//	return 0;
//}
